In computing, file system and registry libraries are typically used to maintain data descriptive of the configuration of a computing device. A file system generally includes data for translating a physical sector of a memory disc to a logical structure. The logical structure can be used by a computer operating system to access data stored in physical memory. Registry libraries generally include configuration data such as setup, user preference, software, hardware, and system parameters information. In a network having a large number of computing devices and associated users, each computer system may have user customizations that result in unique file systems on each system.
Certain operations, when executed by a computing device, introduce changes to file system and/or registry data. For example, operations may cause such data to be created, deleted, or modified. In some situations, changes to the file system or registry data may be undesirable or unmanageable, or may introduce instability into a computing system. As an example, when a computer program is conventionally installed to a computing device, the file system and/or registry data is typically updated. These changes can cause the computing device to become susceptible, or more susceptible than before, to potential problems such as unwanted deletions of configuration data, data redundancies, computer program versioning issues, execution of unwanted processes, inoperability of computer programs, corruption of registered application interfaces, and conflicts between computer programs. Network operations may spread these changes to systems through out the network.
Such problems are exacerbated for a network system administrator or organization maintaining a network and/or group of computer systems having a large number of computing devices and associated users. In such a configuration, events such as rogue installations of computer programs can easily introduce any of the problems listed above. Finding and correcting such problems can be very difficult and time consuming, if not impossible, in a large network and/or complex computer system.
To a certain degree, conventional system restore technologies can be used to restore individual file system and registry settings to a previous state when a problem is introduced into a specific individual computing system. Conventional individual system restore technologies typically capture static snapshots of an individual computing system configuration. Such snapshots must be captured prior to any problems occurring and stored in a manner that is available when problems do occur. As system restore snapshots must cover the entire computing system, they can tie up significant memory resources in each computing system within a network. Unfortunately, application of these snapshots is also limited to individual computing systems and often may not be universally applied to other network systems. The limited application of system snapshots is particularly apparent when the computer systems are using different base operating systems. Coordination of network-wide system restore operations can also tie up significant memory resources in each network administering system within a network.